package cn.eu.mqtt.model.notice;

import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class UpgradeStatus {
    /**
     * 时间戳
     */
    private String timestamp;
    /**
     * 升级类型： <br/>
     * 0 - 物联网固件 <br/>
     * 1 - 车辆固件 <br/>
     * 2 - 蓝牙 <br/>
     * 3 - 语音包 <br/>
     * 4 - Geofence文件 <br/>
     * 5 - GPS固件 <br/>
     */
    private Integer updateType;
    /**
     * 升级子类型 <br/>
     * <table>
     *     <tr><td>升级类型</td><td>升级类型说明</td><td>子类型说明</td></tr>
     *     <tr>
     *         <td>1</td>
     *         <td>车辆固件</td>
     *         <td>
     *             1-ECU固件 <br/>
     *             2-BMS1固件（主电池） <br/>
     *             3-BMS2固件（预留） <br/>
     *             4-仪表固件 <br/>
     *             5-电池锁定固件。（仅限电动自行车） <br/>
     *             6-中继器/电缆锁固件。（仅限电动自行车） <br/>
     *             7-加密芯片固件（仅限电动自行车） <br/>
     *             8-充电端口版本（仅电动自行车） <br/>
     *             10-仪表板 <br/>
     *         </td>
     *     </tr>
     *          <tr><td>3</td>
     *          <td>语音包</td>
     *          <td>
     *              0 - ECU已锁定 <br/>
     *              1 - ECU解锁 <br/>
     *              2 - 主电源、充电、模式切换/NFC卡读数42成功/电池解锁/电池锁定锁定/电缆锁定/电缆锁定/电缆锁定/完全充电/欧拉角校准 <br/>
     *              3 - 非法移动报警 <br/>
     *              4 - 故障报警 <br/>
     *              5 - 报警（翻倒） <br/>
     *              6 - 超出范围 <br/>
     *          </td>
     *     </tr>
     * </table>
     */
    private Integer subType;
    /**
     * 升级状态 <br/>
     * 100 - 物联网确认已收到更新请求 <br/>
     * 101 - 更新请求被物联网拒绝 <br/>
     * 102 - 服务器关闭更新进程 <br/>
     * 103 - 更新因为电池不足（电池容量大于5%） <br/>
     * 200 - 物联网开始下载包 <br/>
     * 201 - 物联网成功下载包 <br/>
     * 202 - 物联网无法下载包 <br/>
     * 300 - 设备开始更新固件 <br/>
     * 301 - 设备成功更新固件 <br/>
     * 302 - 设备无法更新固件 <br/>
     * 303 - 固件更新无法启动 <br/>
     * 304 - 固件更新版本不兼容固件更新无法启动 <br/>
     * 305 - 证书已成功更新 <br/>
     * 306 - 证书下载失败 <br/>
     */
    private String otaState;
    /**
     * 当升级进程为200时：从中断时间恢复的次数（下载包中断后恢复的次数）：默认数字为0.0~255
     */
    private Integer breakpointTransfer;
    /**
     * 当升级状态为200时：下载包的范围的起始字节数：默认值为空，0~4294967295
     */
    private Integer startRange;
}
